/* eslint-disable no-shadow */
export function count({ search }) {
  return RSocket.rr({
    route: 'tasks.count',
    args: { search },
  });
}

export function search({ search, pg }) {
  return RSocket.rs({
    route: 'tasks',
    args: { search, pg },
  });
}

/**
 * @func 获取订单信息
 */
export function get(id) {
  return RSocket.rr({
    route: `scorders.${id}`,
  });
}


/**
 * @func 日志流水分页条件查询
 * @param {}
 */
export function getLogs(search) {
  return RSocket.rs({
    route: 'logs',
    args: {
      search,
      pg: { page: 0, size: 100, sort: ['ts;desc'] },
    },
  });
}

/**
 * @func 获取任务信息
 */
export function getTaskInfo(id) {
  return RSocket.rr({
    route: `tasks.${id}`,
  });
}

/**
 * @func
 */
export function update(task) {
  return RSocket.rr({
    route: 'tasks.update',
    data: { ...task },
  });
}

/**
 * @func 获取指定的公司
 */
export function getCompany(id) {
  return RSocket.rr({
    route: `companys.${id}`,
  });
}

/**
 * @func 修改任务相关价格
 */
export function updatePrice(data) {
  return RSocket.rr({
    route: 'tasks.update.price',
    data,
  });
}

/**
 * @func  修改任务状态
 */
export function changeTaskState(taskId, args) {
  return RSocket.rr({
    route: `tasks.manual.${taskId}.update.state`,
    args,
  });
}

/**
 * @func 取消司机
 */
export function cancelSendCar(data) {
  return RSocket.rr({
    route: 'tasks.cancel',
    data,
  });
}

/**
 * @description 获取公司列表
 * @param {*} args 参数
 * @returns array
 */
export function company(args) {
  return RSocket.rs({
    route: 'companys',
    args: {
      search: {
        ...args,
      },
      pg: {
        page: 0,
        size: 999,
        sort: [],
      },
    },
  });
}

/**
 * @func 变更公司信息
 */
export function alterationCompany(data) {
  return RSocket.rr({
    route: 'tasks.sc.company.update',
    data: {
      ...data,
    },
  });
}

/**
 * @func 统计可派车司机数量
 */
export function countSendCars(chauffeur) {
  return RSocket.rr({
    route: 'ccorders.get.chauffeur.count',
    args: { chauffeur },
  });
}

/**
 * @func 获取可派车司机信息
 */
export function searchSendCars(chauffeur, pg) {
  return RSocket.rs({
    route: 'ccorders.get.chauffeur',
    args: { chauffeur, pg },
  });
}

/**
 * @func 调度员手工派车
 */
export function sendCar(data) {
  return RSocket.rr({
    route: 'tasks.sc.manual',
    data,
  });
}

/**
 * @func 查询专线任务中订单
 */
export function getScOrders(args) {
  return RSocket.rs({
    route: 'scorders',
    args: {
      search: { ...args },
      pg: {
        page: 0,
        size: 99,
      },
    },
  });
}

/**
 * @func 查询专线任务可添加的订单
 */
export function getScOrdersInfo(id) {
  return RSocket.rs({
    route: `scorders.${id}.info`,
  });
}

/**
 * @func 移除任务中订单
 */
export function taskRemoveOrder(args) {
  return RSocket.rr({
    route: 'tasks.remove.order',
    args: { ...args },
  });
}

/**
 * @func 任务中加入订单
 */
export function taskJoinOrder(args) {
  return RSocket.rr({
    route: 'tasks.join.order',
    args: { ...args },
  });
}

/**
 * 获取该任务可派公司列表
 */
export function taskListCompany(args) {
  return RSocket.rs({
    route: 'tasks.list.company',
    args: { ...args },
  });
}

/**
 * 获取巴士站点
 */
export function getBusStation(args) {
  return RSocket.rs({
    route: 'prices.get.bus.station',
    data: { ...args },
  });
}

/**
 * 手动出票
 */
export function servicesTicketIssue(args) {
  return RSocket.rr({
    route: 'services.manual.ticket.issue',
    data: { ...args },
  });
}

/**
 * 获取第三方站点
 */
export function getServiceShifts(args) {
  return RSocket.rs({
    route: 'services.shift',
    data: { ...args },
  });
}

/**
 * 根据手机号获取用户
 */
export function getUserInfo(mobile) {
  return RSocket.rr({
    route: `users.bymobile.${mobile}`,
  });
}

/**
 * 获取线路信息
 */
export function getPrices(args) {
  return RSocket.rs({
    route: 'prices',
    args: {
      search: { ...args },
    },
  });
}
